[INFO] fetching crate llmsdk-xai 0.1.1...
[INFO] testing llmsdk-xai-0.1.1 against master#cced03bfd61a304243a34504618ecec86c17063f for pr-154065-2
[INFO] extracting crate llmsdk-xai 0.1.1 into /workspace/builds/worker-3-tc1/source
[INFO] started tweaking crates.io crate llmsdk-xai 0.1.1
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate llmsdk-xai 0.1.1
[INFO] tweaked toml for crates.io crate llmsdk-xai 0.1.1 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate llmsdk-xai 0.1.1 on toolchain cced03bfd61a304243a34504618ecec86c17063f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate llmsdk-xai 0.1.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded llmsdk-provider-utils v0.1.1
[INFO] [stderr]   Downloaded llmsdk-provider v0.1.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 1f7b1622a5aa2cb8fdedfc37d74e283fd92e73b0f369edd36559799f03bd13ec
[INFO] running `Command { std: "docker" "start" "1f7b1622a5aa2cb8fdedfc37d74e283fd92e73b0f369edd36559799f03bd13ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1f7b1622a5aa2cb8fdedfc37d74e283fd92e73b0f369edd36559799f03bd13ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1f7b1622a5aa2cb8fdedfc37d74e283fd92e73b0f369edd36559799f03bd13ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1f7b1622a5aa2cb8fdedfc37d74e283fd92e73b0f369edd36559799f03bd13ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling aws-lc-rs v1.17.0
[INFO] [stderr]    Compiling rustls-pki-types v1.14.1
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling cc v1.2.62
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling rustls-native-certs v0.8.3
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]    Compiling schemars_derive v1.2.1
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling aws-lc-sys v0.41.0
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling schemars v1.2.1
[INFO] [stderr]    Compiling eventsource-stream v0.2.3
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling llmsdk-provider v0.1.1
[INFO] [stderr]    Compiling h2 v0.4.14
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling rustls-platform-verifier v0.7.0
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling reqwest v0.13.3
[INFO] [stderr]    Compiling llmsdk-provider-utils v0.1.1
[INFO] [stderr]    Compiling llmsdk-xai v0.1.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 02s
[INFO] running `Command { std: "docker" "inspect" "1f7b1622a5aa2cb8fdedfc37d74e283fd92e73b0f369edd36559799f03bd13ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1f7b1622a5aa2cb8fdedfc37d74e283fd92e73b0f369edd36559799f03bd13ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling deadpool-runtime v0.1.4
[INFO] [stderr]    Compiling assert-json-diff v2.0.2
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling llmsdk-provider v0.1.1
[INFO] [stderr]    Compiling deadpool v0.12.3
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling h2 v0.4.14
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling wiremock v0.6.5
[INFO] [stderr]    Compiling reqwest v0.13.3
[INFO] [stderr]    Compiling llmsdk-provider-utils v0.1.1
[INFO] [stderr]    Compiling llmsdk-xai v0.1.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 28s
[INFO] running `Command { std: "docker" "inspect" "1f7b1622a5aa2cb8fdedfc37d74e283fd92e73b0f369edd36559799f03bd13ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1f7b1622a5aa2cb8fdedfc37d74e283fd92e73b0f369edd36559799f03bd13ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.36s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/llmsdk_xai-295f0b26b28980bd)
[INFO] [stdout] 
[INFO] [stdout] running 173 tests
[INFO] [stdout] test chat::convert_prompt::tests::single_text_user_collapses_to_string ... ok
[INFO] [stdout] test chat::convert_prompt::tests::system_message_passthrough ... ok
[INFO] [stdout] test chat::convert_prompt::tests::file_reference_emits_file_id_part ... ok
[INFO] [stdout] test chat::convert_prompt::tests::image_url_pass_through ... ok
[INFO] [stdout] test chat::finish_reason::tests::unknown_is_other_preserving_raw ... ok
[INFO] [stdout] test chat::finish_reason::tests::none_is_other_with_no_raw ... ok
[INFO] [stdout] test chat::convert_prompt::tests::assistant_text_and_tool_calls ... ok
[INFO] [stdout] test chat::convert_prompt::tests::tool_result_text_passthrough ... ok
[INFO] [stdout] test chat::convert_prompt::tests::non_image_url_errors ... ok
[INFO] [stdout] test chat::model::tests::last_assistant_text_extracts_concatenated_text ... ok
[INFO] [stdout] test chat::model::tests::warns_on_topk_frequency_presence_stop ... ok
[INFO] [stdout] test chat::model::tests::search_parameters_serialized_with_snake_case ... ok
[INFO] [stdout] test chat::model::tests::top_logprobs_forces_logprobs_true ... ok
[INFO] [stdout] test chat::model::tests::provider_options_reasoning_effort_wins ... ok
[INFO] [stdout] test chat::model::tests::maps_reasoning_effort_xhigh_to_high_with_warning ... ok
[INFO] [stdout] test chat::model::tests::function_tool_passthrough_with_tool_choice_required ... ok
[INFO] [stdout] test chat::options::tests::parses_reasoning_effort ... ok
[INFO] [stdout] test chat::options::tests::parses_top_logprobs ... ok
[INFO] [stdout] test chat::options::tests::parses_search_parameters_web ... ok
[INFO] [stdout] test chat::options::tests::unknown_keys_ignored ... ok
[INFO] [stdout] test chat::options::tests::parses_search_parameters_x_legacy_handles ... ok
[INFO] [stdout] test chat::options::tests::parses_search_parameters_rss ... ok
[INFO] [stdout] test chat::options::tests::missing_xai_key_yields_defaults ... ok
[INFO] [stdout] test chat::parse_response::tests::parses_citations_as_sources ... ok
[INFO] [stdout] test chat::parse_response::tests::empty_choices_yields_no_content_error ... ok
[INFO] [stdout] test chat::parse_response::tests::parses_tool_calls ... ok
[INFO] [stdout] test chat::prepare_tools::tests::empty_tools_returns_none ... ok
[INFO] [stdout] test chat::prepare_tools::tests::function_tool_strips_additional_properties_false ... ok
[INFO] [stdout] test chat::prepare_tools::tests::provider_tool_warns_and_drops ... ok
[INFO] [stdout] test chat::prepare_tools::tests::remove_additional_properties_keeps_true_value ... ok
[INFO] [stdout] test chat::prepare_tools::tests::remove_additional_properties_recurses_into_nested ... ok
[INFO] [stdout] test chat::prepare_tools::tests::tool_choice_auto_required_none ... ok
[INFO] [stdout] test chat::prepare_tools::tests::tool_choice_specific_tool ... ok
[INFO] [stdout] test chat::parse_response::tests::parses_reasoning_content ... ok
[INFO] [stdout] test chat::options::tests::missing_provider_options_yields_defaults ... ok
[INFO] [stdout] test chat::parse_response::tests::drops_prefix_duplicate_text ... ok
[INFO] [stdout] test chat::parse_response::tests::error_envelope_translates_to_api_call_error ... ok
[INFO] [stdout] test chat::stream::tests::parse_error_marks_finish_as_error ... ok
[INFO] [stdout] test chat::stream::tests::citations_become_sources ... ok
[INFO] [stdout] test chat::parse_response::tests::parses_plain_text ... ok
[INFO] [stdout] test chat::stream::tests::tool_call_one_chunk ... ok
[INFO] [stdout] test chat::usage::tests::cached_exceeds_prompt_adds_branch ... ok
[INFO] [stdout] test chat::usage::tests::zero_placeholder_has_all_zeros ... ok
[INFO] [stdout] test chat::usage::tests::prompt_tokens_includes_cached_branch ... ok
[INFO] [stdout] test chat::stream::tests::reasoning_delta_dedupes_repeat ... ok
[INFO] [stdout] test chat::stream::tests::start_then_text_then_finish ... ok
[INFO] [stdout] test chat::stream::tests::reasoning_then_text_closes_reasoning_first ... ok
[INFO] [stdout] test chat::finish_reason::tests::maps_known_values ... ok
[INFO] [stdout] test files::model::tests::data_base64_decodes ... ok
[INFO] [stdout] test files::model::tests::data_bytes_passes_through ... ok
[INFO] [stdout] test files::model::tests::data_base64_rejects_invalid ... ok
[INFO] [stdout] test files::model::tests::text_encodes_utf8 ... ok
[INFO] [stdout] test files::options::tests::missing_options_yields_default ... ok
[INFO] [stdout] test files::options::tests::missing_xai_slot_yields_default ... ok
[INFO] [stdout] test files::options::tests::parses_file_path_passthrough ... ok
[INFO] [stdout] test files::options::tests::parses_team_id ... ok
[INFO] [stdout] test files::wire::tests::parses_minimal_response ... ok
[INFO] [stdout] test files::options::tests::unknown_keys_are_ignored_for_passthrough_parity ... ok
[INFO] [stdout] test files::wire::tests::parses_full_response ... ok
[INFO] [stdout] test image::model::tests::build_provider_metadata_includes_revised_prompt_and_cost ... ok
[INFO] [stdout] test files::options::tests::wrong_type_for_team_id_errors ... ok
[INFO] [stdout] test files::wire::tests::parses_response_with_explicit_nulls ... ok
[INFO] [stdout] test image::model::tests::provider_options_pass_through_to_wire ... ok
[INFO] [stdout] test image::model::tests::multiple_files_land_on_images_array ... ok
[INFO] [stdout] test image::model::tests::route_endpoint_picks_edit_with_files ... ok
[INFO] [stdout] test image::model::tests::route_endpoint_picks_generate_without_files ... ok
[INFO] [stdout] test image::model::tests::size_seed_mask_each_emit_a_warning ... ok
[INFO] [stdout] test image::model::tests::single_file_lands_on_image_field ... ok
[INFO] [stdout] test image::model::tests::sniff_media_type_detects_png_jpeg_webp_gif_and_defaults_jpeg ... ok
[INFO] [stdout] test image::options::tests::malformed_xai_slot_falls_back_to_defaults ... ok
[INFO] [stdout] test image::model::tests::top_level_aspect_ratio_wins_over_provider_option ... ok
[INFO] [stdout] test image::options::tests::missing_provider_options_yields_defaults ... ok
[INFO] [stdout] test image::model::tests::text_file_data_is_rejected_with_clear_error ... ok
[INFO] [stdout] test image::options::tests::missing_xai_key_yields_defaults ... ok
[INFO] [stdout] test image::wire::tests::base64_rejects_invalid_input ... ok
[INFO] [stdout] test image::options::tests::parses_all_six_known_fields ... ok
[INFO] [stdout] test image::options::tests::unknown_keys_are_ignored ... ok
[INFO] [stdout] test image::wire::tests::base64_round_trips_known_vectors ... ok
[INFO] [stdout] test image::wire::tests::image_reference_serializes_with_type_tag ... ok
[INFO] [stdout] test image::wire::tests::image_request_skips_optional_none_fields ... ok
[INFO] [stdout] test responses::convert_prompt::tests::assistant_tool_call_emits_function_call_item ... ok
[INFO] [stdout] test responses::convert_prompt::tests::reasoning_with_encrypted_content_passes_through ... ok
[INFO] [stdout] test responses::convert_prompt::tests::reasoning_without_metadata_warns_and_drops ... ok
[INFO] [stdout] test responses::convert_prompt::tests::system_message_emits_role_system ... ok
[INFO] [stdout] test responses::convert_prompt::tests::tool_result_emits_function_call_output ... ok
[INFO] [stdout] test responses::convert_prompt::tests::user_file_reference_emits_input_file_with_file_id ... ok
[INFO] [stdout] test responses::convert_prompt::tests::user_image_data_inline_base64 ... ok
[INFO] [stdout] test responses::convert_prompt::tests::user_pdf_url_emits_input_file_with_file_url ... ok
[INFO] [stdout] test responses::convert_prompt::tests::user_image_url_emits_input_image ... ok
[INFO] [stdout] test responses::finish_reason::tests::maps_known_values ... ok
[INFO] [stdout] test responses::convert_prompt::tests::user_text_emits_input_text ... ok
[INFO] [stdout] test responses::finish_reason::tests::none_is_other_with_no_raw ... ok
[INFO] [stdout] test image::wire::tests::image_response_decodes_url_or_b64_or_revised_prompt ... ok
[INFO] [stdout] test responses::convert_prompt::tests::assistant_provider_executed_tool_call_dropped ... ok
[INFO] [stdout] test responses::finish_reason::tests::unknown_is_other_preserving_raw ... ok
[INFO] [stdout] test responses::model::tests::function_tool_routes_to_responses_function_shape ... ok
[INFO] [stdout] test responses::model::tests::reasoning_effort_xhigh_maps_to_high_with_warning ... ok
[INFO] [stdout] test responses::model::tests::previous_response_id_passes_through ... ok
[INFO] [stdout] test responses::model::tests::stop_sequences_emits_warning ... ok
[INFO] [stdout] test responses::model::tests::top_logprobs_forces_logprobs_true ... ok
[INFO] [stdout] test responses::model::tests::store_false_auto_includes_encrypted_content ... ok
[INFO] [stdout] test responses::options::tests::missing_provider_options_yields_defaults ... ok
[INFO] [stdout] test responses::options::tests::unknown_keys_ignored ... ok
[INFO] [stdout] test responses::options::tests::parses_full_options ... ok
[INFO] [stdout] test responses::parse_response::tests::cost_in_usd_ticks_passes_to_provider_metadata ... ok
[INFO] [stdout] test responses::model::tests::provider_options_reasoning_effort_wins ... ok
[INFO] [stdout] test responses::parse_response::tests::parses_plain_message ... ok
[INFO] [stdout] test responses::parse_response::tests::parses_function_call_marks_tool_calls ... ok
[INFO] [stdout] test responses::parse_response::tests::parses_reasoning_with_metadata ... ok
[INFO] [stdout] test responses::prepare_tools::tests::file_search_emits_vector_store_ids ... ok
[INFO] [stdout] test responses::prepare_tools::tests::function_tool_strips_additional_properties_false ... ok
[INFO] [stdout] test responses::prepare_tools::tests::mcp_emits_server_url ... ok
[INFO] [stdout] test responses::prepare_tools::tests::tool_choice_auto_required_none ... ok
[INFO] [stdout] test responses::prepare_tools::tests::empty_tools_returns_none ... ok
[INFO] [stdout] test responses::prepare_tools::tests::tool_choice_function_emits_function_obj ... ok
[INFO] [stdout] test responses::prepare_tools::tests::unknown_provider_tool_warns ... ok
[INFO] [stdout] test responses::prepare_tools::tests::tool_choice_server_tool_warns_and_drops_choice ... ok
[INFO] [stdout] test responses::prepare_tools::tests::web_search_maps_camel_to_snake ... ok
[INFO] [stdout] test responses::model::tests::provider_tool_web_search_captures_name ... ok
[INFO] [stdout] test responses::stream::tests::first_metadata_chunk_emits_response_metadata ... ok
[INFO] [stdout] test responses::stream::tests::function_call_emits_input_start_then_end_with_tool_call ... ok
[INFO] [stdout] test responses::prepare_tools::tests::x_search_emits_all_fields ... ok
[INFO] [stdout] test responses::stream::tests::error_chunk_emits_error_frame ... ok
[INFO] [stdout] test responses::stream::tests::output_text_delta_opens_text_block ... ok
[INFO] [stdout] test responses::parse_response::tests::parses_file_search_emits_call_plus_result ... ok
[INFO] [stdout] test responses::stream::tests::reasoning_text_delta_opens_reasoning_block_with_metadata ... ok
[INFO] [stdout] test responses::stream::tests::response_done_with_function_call_sets_tool_calls_finish ... ok
[INFO] [stdout] test responses::usage::tests::input_includes_cached_branch ... ok
[INFO] [stdout] test responses::prepare_tools::tests::code_execution_emits_code_interpreter_wire_type ... ok
[INFO] [stdout] test responses::usage::tests::zero_placeholder_has_all_zeros ... ok
[INFO] [stdout] test tools::file_search::tests::vector_store_ids_required_field_emitted ... ok
[INFO] [stdout] test responses::stream::tests::raw_chunks_forwarded_when_enabled ... ok
[INFO] [stdout] test tools::mcp_server::tests::server_url_required_field_emitted ... ok
[INFO] [stdout] test responses::usage::tests::cached_exceeds_input_adds_branch ... ok
[INFO] [stdout] test tools::web_search::tests::allowed_domains_serialize_with_snake_case_wire_key ... ok
[INFO] [stdout] test responses::stream::tests::message_done_emits_text_block_when_no_deltas_seen ... ok
[INFO] [stdout] test tools::x_search::tests::from_date_emits_camel_case ... ok
[INFO] [stdout] test video::build::tests::image_input_bytes_become_data_uri ... ok
[INFO] [stdout] test video::build::tests::edit_mode_warns_on_duration_aspect_resolution_and_drops_them ... ok
[INFO] [stdout] test video::build::tests::image_input_url_passes_through_to_body_image ... ok
[INFO] [stdout] test video::build::tests::provider_options_resolution_wins_over_top_level ... ok
[INFO] [stdout] test video::build::tests::r2v_mode_emits_reference_images_array ... ok
[INFO] [stdout] test video::build::tests::resolve_mode_explicit_wins_over_legacy_shape ... ok
[INFO] [stdout] test video::build::tests::resolve_mode_legacy_reference_images_detects_r2v ... ok
[INFO] [stdout] test video::build::tests::resolve_mode_legacy_video_url_detects_edit ... ok
[INFO] [stdout] test video::build::tests::text_to_video_top_level_resolution_mapping ... ok
[INFO] [stdout] test video::build::tests::resolve_mode_text_to_video_when_empty ... ok
[INFO] [stdout] test tools::web_search::tests::empty_args_serialize_to_empty_object ... ok
[INFO] [stdout] test video::build::tests::text_to_video_unrecognized_resolution_warns_and_drops ... ok
[INFO] [stdout] test video::build::tests::unknown_provider_options_flatten_onto_request_root ... ok
[INFO] [stdout] test video::options::tests::empty_reference_images_drops_to_none ... ok
[INFO] [stdout] test video::options::tests::invalid_poll_interval_zero_drops_to_none ... ok
[INFO] [stdout] test video::options::tests::invalid_resolution_drops_to_none ... ok
[INFO] [stdout] test video::build::tests::warnings_emitted_for_fps_seed_and_n_gt_one ... ok
[INFO] [stdout] test video::options::tests::known_keys_list_is_complete ... ok
[INFO] [stdout] test video::options::tests::missing_provider_options_yields_defaults ... ok
[INFO] [stdout] test video::model::tests::build_metadata_includes_all_optional_fields_when_present ... ok
[INFO] [stdout] test video::model::tests::classify_status_handles_all_documented_states ... ok
[INFO] [stdout] test video::options::tests::unknown_keys_flow_into_extras ... ok
[INFO] [stdout] test video::timestamp::tests::epoch_is_well_formed ... ok
[INFO] [stdout] test video::options::tests::parses_all_six_known_keys ... ok
[INFO] [stdout] test video::timestamp::tests::now_returns_iso8601_shape ... ok
[INFO] [stdout] test video::timestamp::tests::known_vector_matches ... ok
[INFO] [stdout] test video::wire::tests::base64_encode_matches_rfc4648_vectors ... ok
[INFO] [stdout] test video::wire::tests::request_body_serializes_nested_references ... ok
[INFO] [stdout] test video::wire::tests::request_body_skips_unset_optional_fields_and_flattens_extras ... ok
[INFO] [stdout] test video::wire::tests::create_response_accepts_missing_request_id ... ok
[INFO] [stdout] test video::wire::tests::status_response_accepts_pending_with_no_video ... ok
[INFO] [stdout] test video::wire::tests::status_response_parses_done_payload_with_video_url_duration_and_usage ... ok
[INFO] [stdout] test video::options::tests::too_many_reference_images_drops_to_none ... ok
[INFO] [stdout] test chat::model::tests::supported_urls_advertises_https_image_only ... ok
[INFO] [stdout] test config::tests::builder_with_explicit_key_succeeds ... ok
[INFO] [stdout] test config::tests::builder_custom_base_url ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 173 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.30s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/contract_chat_advanced.rs (/opt/rustwide/target/debug/deps/contract_chat_advanced-0ba2f2adaea19335)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test unsupported_settings_emit_warnings ... ok
[INFO] [stdout] test assistant_prefix_duplicate_text_is_dropped ... ok
[INFO] [stdout] test max_output_tokens_maps_to_max_completion_tokens ... ok
[INFO] [stdout] test file_reference_serializes_as_file_id_part ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.73s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/contract_chat_basic.rs (/opt/rustwide/target/debug/deps/contract_chat_basic-3a6f0f68dd86e07b)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test happy_path_text ... ok
[INFO] [stdout] test reasoning_content_becomes_reasoning_block ... ok
[INFO] [stdout] test citations_become_source_parts ... ok
[INFO] [stdout] test error_envelope_returns_api_call_error ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.37s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/contract_chat_options.rs (/opt/rustwide/target/debug/deps/contract_chat_options-b88dca0608d2163a)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test reasoning_effort_provider_option_overrides_top_level ... ok
[INFO] [stdout] test parallel_function_calling_passthrough ... ok
[INFO] [stdout] test search_parameters_serialized_to_wire ... ok
[INFO] [stdout] test top_logprobs_forces_logprobs_true ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.44s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/contract_chat_stream.rs (/opt/rustwide/target/debug/deps/contract_chat_stream-386f4f54e1686083)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test json_error_body_becomes_in_stream_error ... ok
[INFO] [stdout] test streams_reasoning_then_text_closes_reasoning_first ... ok
[INFO] [stdout] test streams_text_then_finish ... ok
[INFO] [stdout] test streams_tool_call_in_single_chunk ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.32s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/contract_chat_tools.rs (/opt/rustwide/target/debug/deps/contract_chat_tools-30bd62919ba5d2f9)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test tool_choice_specific_tool_serializes_function_envelope ... ok
[INFO] [stderr]      Running tests/contract_files.rs (/opt/rustwide/target/debug/deps/contract_files-170dfeecc8290d72)
[INFO] [stdout] test tool_call_returned_via_function ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.26s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test upload_file_base64_payload_is_decoded_before_upload ... ok
[INFO] [stdout] test upload_file_sends_multipart_post_with_bearer_auth ... ok
[INFO] [stdout] test upload_file_omits_null_response_fields_from_provider_metadata ... ok
[INFO] [stdout] test upload_file_includes_filename_and_team_id_in_multipart_body ... ok
[INFO] [stdout] test upload_file_falls_back_to_input_filename_when_server_omits_it ... ok
[INFO] [stdout] test upload_file_http_error_surfaces_xai_message ... ok
[INFO] [stdout] test upload_file_does_not_include_team_id_when_absent ... ok
[INFO] [stdout] test upload_file_specification_version_and_provider_id ... ok
[INFO] [stderr]      Running tests/contract_image_basic.rs (/opt/rustwide/target/debug/deps/contract_image_basic-6d1dc034ac8afb7b)
[INFO] [stdout] test upload_file_uses_default_filename_blob_when_none_supplied ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.74s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test files_route_to_edits_endpoint_with_single_image_field ... ok
[INFO] [stdout] test size_seed_mask_emit_unsupported_warnings_but_call_still_succeeds ... ok
[INFO] [stdout] test generations_happy_path_decodes_png_and_collects_metadata ... ok
[INFO] [stdout] test url_only_response_triggers_download_fallback ... ok
[INFO] [stdout] test provider_options_are_forwarded_to_wire ... ok
[INFO] [stdout] test max_images_per_call_reports_three ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.84s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stderr]      Running tests/contract_responses_basic.rs (/opt/rustwide/target/debug/deps/contract_responses_basic-c3dd30e41de01820)
[INFO] [stdout] test cost_in_usd_ticks_passes_to_provider_metadata ... ok
[INFO] [stdout] test function_call_output_marks_tool_calls ... ok
[INFO] [stdout] test happy_path_message_output ... ok
[INFO] [stdout] test reasoning_block_with_encrypted_content_passes_through_metadata ... ok
[INFO] [stderr]      Running tests/contract_responses_stream.rs (/opt/rustwide/target/debug/deps/contract_responses_stream-e31c7484203da841)
[INFO] [stdout] test url_citation_annotation_emits_source ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.21s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test error_chunk_surfaces_as_error_frame ... ok
[INFO] [stdout] test streams_function_call_arguments_then_tool_call ... ok
[INFO] [stdout] test streams_reasoning_summary_then_text ... ok
[INFO] [stdout] test streams_text_then_finish ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.35s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/contract_responses_tools.rs (/opt/rustwide/target/debug/deps/contract_responses_tools-4fb85dec2af1937c)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test view_image_and_view_x_video_emit_simple_types ... ok
[INFO] [stdout] test mcp_server_emits_server_url ... ok
[INFO] [stdout] test file_search_serializes_vector_store_ids ... ok
[INFO] [stdout] test web_search_tool_serializes_with_snake_case_wire_fields ... ok
[INFO] [stdout] test file_search_call_response_emits_tool_call_and_tool_result ... ok
[INFO] [stdout] test code_execution_emits_code_interpreter_wire_type ... ok
[INFO] [stdout] test x_search_tool_serializes_with_snake_case_wire_fields ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.37s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/contract_video.rs (/opt/rustwide/target/debug/deps/contract_video-ee7b678240fe3e0a)
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test edit_video_mode_routes_to_edits_endpoint ... ok
[INFO] [stdout] test extend_video_mode_routes_to_extensions_endpoint ... ok
[INFO] [stdout] test failed_status_surfaces_as_provider_error ... ok
[INFO] [stdout] test missing_request_id_in_post_response_is_a_provider_error ... ok
[INFO] [stdout] test legacy_video_url_shape_auto_detects_edit_mode ... ok
[INFO] [stdout] test fps_seed_and_n_emit_unsupported_warnings_but_call_succeeds ... ok
[INFO] [stdout] test empty_video_url_surfaces_as_provider_error ... ok
[INFO] [stdout] test reference_to_video_mode_emits_reference_images_array ... ok
[INFO] [stdout] test text_to_video_creates_and_polls_until_done ... ok
[INFO] [stdout] test max_videos_per_call_reports_one ... ok
[INFO] [stdout] test polling_loop_handles_pending_then_done_sequence ... ok
[INFO] [stdout] test moderation_blocks_promote_to_provider_error ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.78s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests llmsdk_xai
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test src/files/model.rs - files::model::XaiFiles (line 46) - compile ... ok
[INFO] [stdout] test src/tools/view_x_video.rs - tools::view_x_video::view_x_video (line 12) ... ok
[INFO] [stdout] test src/tools/mcp_server.rs - tools::mcp_server::mcp_server (line 38) ... ok
[INFO] [stdout] test src/tools/x_search.rs - tools::x_search::x_search (line 37) ... ok
[INFO] [stdout] test src/tools/file_search.rs - tools::file_search::file_search (line 25) ... ok
[INFO] [stdout] test src/tools/view_image.rs - tools::view_image::view_image (line 12) ... ok
[INFO] [stdout] test src/tools/code_execution.rs - tools::code_execution::code_execution (line 14) ... ok
[INFO] [stdout] test src/tools/web_search.rs - tools::web_search::web_search (line 32) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 1.58s; merged doctests compilation took 1.55s
[INFO] running `Command { std: "docker" "inspect" "1f7b1622a5aa2cb8fdedfc37d74e283fd92e73b0f369edd36559799f03bd13ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1f7b1622a5aa2cb8fdedfc37d74e283fd92e73b0f369edd36559799f03bd13ec", kill_on_drop: false }`
[INFO] [stdout] 1f7b1622a5aa2cb8fdedfc37d74e283fd92e73b0f369edd36559799f03bd13ec
